#pragma once

#include<stdio.h>

//缓冲区大小
#define MAX 1024
//刷新方式
#define NONE_FLUSH (1<<0) //不主动刷新
#define LINE_FLUSH (1<<1) //行刷新
#define FULL_FLUSH (1<<2) //缓冲区满了刷新

//自定义结构体
typedef struct IO_FILE
{
	int _fileno;          //文件描述符
	int _flag;            //文件打开模式
	char _outbuffer[MAX]; //输出缓冲区
	int _bufferlen;       //当前缓冲区大小
	int _flush_method;    //刷新策略
}MyFile;

//函数声明
//1代开文件，返回文件指针
MyFile* MyFopen(const char* path, const char* mode);
//2关闭文件
void Myclose(MyFile*);
//3项文件写入（带缓冲）
int Mywrite(MyFile*, void* str, int len);
//4刷新缓冲区，写入内核
void MyFFlush(MyFile*);
